﻿using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;

namespace CoreRay.IO
{
    public abstract class ResourceHandler
    {
        public abstract string[] Extensions
        {
            get;
        }

        public abstract bool CanRead
        {
            get;
        }

        public abstract bool CanWrite
        {
            get;
        }

        public virtual object Read(Stream input)
        {
            throw new NotImplementedException("This resource handler doesn't support read operation.");
        }

        public virtual void Write(object input, Stream output)
        {
            throw new NotImplementedException("This resource handler doesn't support write operation.");
        }
    }
}
